home *** CD-ROM | disk | FTP | other *** search
Wrap
'************************************************************************** '* -- setup.mst -- '* '* Power Window 9130C-PCI Utility Setup Script '* '* Copyright (C) 1995 CANOPUS Co.,Ltd. All rights reserved. '************************************************************************** '$INCLUDE 'setupapi.inc' '$INCLUDE 'msdetect.inc' '$INCLUDE 'msregdb.inc' ''Dialog ID's CONST WELCOME = 100 CONST WELCOMEUS = 101 CONST QUIT = 200 CONST QUITUS = 201 CONST DESTPATH = 1000 CONST DESTPATHUS = 1001 CONST EXITFAILURE = 1400 CONST EXITFAILUREUS = 1401 CONST EXITQUIT = 1500 CONST EXITQUITUS = 1501 CONST EXITSUCCESS = 1600 CONST EXITSUCCESSUS = 1601 CONST POWERERROR = 2000 CONST POWERERRORUS = 2001 CONST DISKERROR = 2100 CONST DISKERRORUS = 2101 CONST BADPATH = 3000 CONST BADPATHUS = 3001 ''Bitmap ID CONST LOGO = 1 ''Window Size CONST SHOWMAX = 3 '' Users Area GLOBAL DEST$ ''âfâtâHâïâgé╠âfâBâîâNâgâè GLOBAL WINDRIVE$ ''âEâCâôâhâEâYé╠âfâBâîâNâgâè GLOBAL GROUP$ ''âOâïü[âvû╝ GLOBAL CUIDLL$ ''âåü[âUécékékû╝ GLOBAL JPMODE AS INTEGER '' ô·û{îΩü^ëpîΩâéü[âh '' Mode Code CONST SM_DBCSENABLED = 42 ''CustInst list symbol names DECLARE FUNCTION CheckPowerWindow LIB "mscuistf.dll" () AS INTEGER DECLARE FUNCTION RebootWindows LIB "mscuistf.dll" () AS INTEGER DECLARE FUNCTION ExitWindowsExec LIB "User" (Exec$, Param$) AS INTEGER DECLARE FUNCTION MakePath (szDir$, szFile$) AS STRING DECLARE SUB IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) DECLARE SUB IniSetAndStandBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) ' ' #[ INIT ] ' INIT: CUIDLL$ = "mscuistf.dll" ''Custom user interface dll JPMODE = GetSystemMetrics( SM_DBCSENABLED ) SetWindowSize SHOWMAX SetBitmap CUIDLL$, LOGO SetTitle "Power Window 9130C-PCI Utility Setup" szInf$ = GetSymbolValue("STF_SRCINFPATH") IF szInf$ = "" THEN szInf$ = GetSymbolValue("STF_CWDDIR") + "setup.inf" END IF ReadInfFile szInf$ WINDRIVE$ = GetWindowsDir() DEST$ = MID$(WINDRIVE$, 1, 1) + ":\PW" IF JPMODE <> 0 THEN IF CheckPowerWindow() = 0 THEN sz$ = UIStartDlg(CUIDLL$, POWERERROR, "FInfoDlgProc", 0, "") END END IF ELSE IF CheckPowerWindow() = 0 THEN sz$ = UIStartDlg(CUIDLL$, POWERERRORUS, "FInfoDlgProc", 0, "") END END IF END IF WELCOME: IF JPMODE <> 0 THEN sz$ = UIStartDlg(CUIDLL$, WELCOME, "FInfoDlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, WELCOMEUS, "FInfoDlgProc", 0, "") END IF IF sz$ = "CONTINUE" THEN UIPop 1 ELSE GOSUB ASKQUIT GOTO WELCOME END IF GETPATH: SetSymbolValue "EditTextIn", DEST$ SetSymbolValue "EditFocus", "END" GETPATHL1: IF JPMODE <> 0 THEN sz$ = UIStartDlg(CUIDLL$, DESTPATH, "FEditDlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, DESTPATHUS, "FEditDlgProc", 0, "") END IF DEST$ = GetSymbolValue("EditTextOut") IF sz$ = "CONTINUE" THEN IF IsDirWritable(DEST$) = 0 THEN GOSUB BADPATH GOTO GETPATHL1 END IF UIPop 1 ELSEIF sz$ = "REACTIVATE" THEN GOTO GETPATHL1 ELSE GOSUB ASKQUIT GOTO GETPATHL1 END IF INSTFILES: SrcDir$ = GetSymbolValue("STF_SRCDIR") WinSysDir$ = GetWindowsSysDir() ''âfâBâîâNâgâèé╠ì∞ɼé╞ôoÿ^ CreateDir DEST$, cmoNone CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "DIR", DEST$, cmoOverwrite ''âtâ@âCâïâRâsü[âèâXâgé╠ôoÿ^ AddSectionFilesToCopyList "SYSTEM", SrcDir$, WinSysDir$ CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE0", MakePath(WinSysDir$,"PW91CAP.DRV"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE1", MakePath(WinSysDir$,"PWJPEG.DRV"), cmoOverwrite AddSectionFilesToCopyList "USERS", SrcDir$, DEST$ CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE2", MakePath(DEST$,"PW91TUN.EXE"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE3", MakePath(DEST$,"PW91TUN.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE4", MakePath(DEST$,"PWVVIEW.EXE"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE5", MakePath(DEST$,"PWVVIEW.HLP"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE6", MakePath(DEST$,"PWDIALOG.DLL"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE7", MakePath(DEST$,"PWAPUIST.EXE"), cmoOverwrite CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", "FILE8", MakePath(DEST$,"PWVVIEW.GID"), cmoOverwrite ''âtâ@âCâïâRâsü[ SizeReq& = GetCopyListCost ("","", "") IF SizeReq& <> 0 THEN IF JPMODE <> 0 THEN sz$ = UIStartDlg(CUIDLL$, DISKERROR, "FInfoDlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, DISKERRORUS, "FInfoDlgProc", 0, "") END IF END END IF SetRestartDir WINDRIVE$ CopyFilesInCopyList ''éhéméhâtâ@âCâïé╠ôoÿ^ IniSetAndBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "VIDC.MJPG", "PWJPEG.DRV", "SYS" IniSetAndStandBakup WINDRIVE$ + "SYSTEM.INI", "DRIVERS", "MSVideo", "PW91CAP.DRV", "SYS" ''âOâïü[âvôoÿ^ GROUP$ = "Power Window 9100" CreateProgmanGroup GROUP$, "", cmoNone ShowProgmanGroup GROUP$, 1, cmoNone CreateProgmanItem GROUP$, "Video Viewer" , MakePath(DEST$,"PWVVIEW.EXE"), "", cmoOverwrite CreateProgmanItem GROUP$, "TV Tuner" , MakePath(DEST$,"PW91TUN.EXE"), "", cmoOverwrite CreateProgmanItem GROUP$, "Utility Uninstaller" , MakePath(DEST$,"PWAPUIST.EXE"), "", cmoOverwrite QUIT: ON ERROR GOTO ERRQUIT IF ERR = 0 THEN IF JPMODE <> 0 THEN dlg% = EXITSUCCESS ELSE dlg% = EXITSUCCESSUS END IF ELSEIF ERR = STFQUIT THEN IF JPMODE <> 0 THEN dlg% = EXITQUIT ELSE dlg% = EXITQUITUS END IF ELSE IF JPMODE <> 0 THEN dlg% = EXITFAILURE ELSE dlg% = EXITFAILUREUS END IF END IF QUITL1: sz$ = UIStartDlg(CUIDLL$, dlg%, "FInfoDlgProc", 0, "") IF sz$ = "CONTINUE" THEN UIPop 1 END END IF RESET: new% = ExitExecRestart() Exe$ = WINDRIVE$ + "\_msrstrt.exe" Empty$ = "" RESTART1: IF new% = 0 THEN IF JPMODE <> 0 THEN i% = DoMsgBox("Windows é≡ì─ïNô«é┼é½é▄é╣é±üBæ╝é╠âAâvâèâPü[âVâçâôüiMS-DOS╠▀█▌╠▀─ôÖüjé≡ÅIù╣é╡é─é¡é╛é│éóüB", "âZâbâgâAâbâv âGâëü[", MB_OK+MB_TASKMODAL+MB_ICONHAND) ELSE i% = DoMsgBox("The Setup program cannot restart Windows. Please terminate all other applications and MS-DOS Prompt.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND) END IF END IF ' I% = RebootWindows() é▒é╠Åêù¥é╔é╖éΘé╞üAâZâbâgâAâbâvâeâôâ|âëâèìφÅ£é╡é╚éóüB I% = ExitWindowsExec (Exe$, Empty$) IF I% = 0 THEN GOTO RESET ELSE END END IF END ERRQUIT: IF JPMODE <> 0 THEN i% = DoMsgBox("âZâbâgâAâbâvâfâBâXâNé╠ôαùeé¬ë≤éΩé─éóé▄é╖üBâeâNâjâJâïâTâ|ü[âgé▄é┼ÿAùìé╡é─é¡é╛é│éóüB", "âZâbâgâAâbâv âGâëü[", MB_OK+MB_TASKMODAL+MB_ICONHAND) ELSE i% = DoMsgBox("This Setup disk is destroyed. Please contact our Technical Support.", "Setup Error", MB_OK+MB_TASKMODAL+MB_ICONHAND) END IF END BADPATH: IF JPMODE <> 0 THEN sz$ = UIStartDlg(CUIDLL$, BADPATH, "FInfo0DlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, BADPATHUS, "FInfo0DlgProc", 0, "") END IF IF sz$ = "REACTIVATE" THEN GOTO BADPATH END IF UIPop 1 RETURN ASKQUIT: IF JPMODE <> 0 THEN sz$ = UIStartDlg(CUIDLL$, QUIT, "FQuitDlgProc", 0, "") ELSE sz$ = UIStartDlg(CUIDLL$, QUITUS, "FQuitDlgProc", 0, "") END IF IF sz$ = "EXIT" THEN UIPopAll ERROR STFQUIT ELSEIF sz$ = "REACTIVATE" THEN GOTO ASKQUIT ELSE UIPop 1 END IF RETURN '***************************************************** '** ôαùe: '** âtâïâpâXé╠ì\æóæ╠é╔ò╧è╖ '** ê°é½Éö: '** szDir$ - âtâïâpâXâfâBâîâNâgâèû╝ '** szFile$ - âtâ@âCâïû╝é▄é╜é═âfâBâîâNâgâèû╝ '** û▀éΦÆl: '** âpâXû╝ '***************************************************** FUNCTION MakePath (szDir$, szFile$) STATIC AS STRING IF szDir$ = "" THEN MakePath = szFile$ ELSEIF szFile$ = "" THEN MakePath = szDir$ ELSEIF MID$(szDir$, LEN(szDir$), 1) = "\" THEN MakePath = szDir$ + szFile$ ELSE MakePath = szDir$ + "\" + szFile$ END IF END FUNCTION '***************************************************** '** ôαùe: '** Iniôαùeò█è╟ '** ê°é½Éö: '** szFile$ - âtâïâpâXâtâ@âCâï '** szSec$ - âZâNâVâçâô '** szKey$ - âLü[ '** szVal$ - Æl '** szSecOp$- âfâBâîâNâgâè '** û▀éΦÆl: '** âpâXû╝ '***************************************************** SUB IniSetAndBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) STATIC szLoad$ = "" szLoadBak$ = "" szLoadBak$ = GetIniKeyString(szFile$, szSec$, szKey$) szLoad$ = GetIniKeyString(WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", szSecOp$ + szKey$) IF (szLoad$ = "") OR (szLoad$ <> szLoadBak$) THEN CreateIniKeyValue WINDRIVE$ + "CANOPUS.INI", "PowerWindow9130cUtility", szSecOp$ + szKey$, szLoadBak$, cmoOverwrite END IF CreateIniKeyValue szFile$, szSec$, szKey$, szVal$, cmoOverwrite END SUB '***************************************************** '** ôαùe: '** Iniôαùeò█è╟ '** ê°é½Éö: '** szFile$ - âtâïâpâXâtâ@âCâï '** szSec$ - âZâNâVâçâô '** szKey$ - âLü[ '** szVal$ - Æl '** szSecOp$- âfâBâîâNâgâè '** û▀éΦÆl: '** âpâXû╝ '***************************************************** SUB IniSetAndStandBakup (szFile$, szSec$, szKey$, szVal$, szSecOp$) STATIC szLoad$ = "" szLoadBak$ = "" szLoadBak$ = GetIniKeyString(szFile$, szSec$, szKey$) IF szLoadBak$ = szVal$ THEN EXIT SUB END IF FOR i% = 1 TO 9 STEP 1 Number$ = MID$(STR$(i%), 2, 1) szLoad$ = GetIniKeyString(szFile$, szSec$, szKey$+Number$) IF (szLoad$ = szLoadBak$) OR (szLoad$ = szVal$) THEN RemoveIniKey szFile$, szSec$, szKey$+Number$, cmoNone END IF NEXT i% n% = 1 FOR i% = 1 TO 9 STEP 1 Number$ = MID$(STR$(i%), 2, 1) szLoad$ = GetIniKeyString(szFile$, szSec$, szKey$+Number$) IF (szLoad$ <> "") OR (szLoadBak$ <> "") THEN Number$ = MID$(STR$(n%), 2, 1) IF szLoadBak$ <> "" THEN CreateIniKeyValue szFile$, szSec$, szKey$+Number$, szLoadBak$, cmoOverwrite n% = n% + 1 END IF szLoadBak$ = szLoad$ END IF NEXT i% CreateIniKeyValue szFile$, szSec$, szKey$, szVal$, cmoOverwrite END SUB